--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit 0d05d348efb249b895c5d1d59fa663f4493eebf2
Parents : 7f5254b
Author : Sudo-Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-01-10T18:56:31-06:00
Update changelog retrieval logic in ReticulumMeshChat: check for CHANGELOG.md in public folder if not found in the default location, and adjust headless mode default based on application state.
Changes
Diff
diff --git a/meshchatx/meshchat.py b/meshchatx/meshchat.py
index ab5b7926..923cff38 100644
--- a/meshchatx/meshchat.py
+++ b/meshchatx/meshchat.py
@@ -3633,10 +3633,14 @@ class ReticulumMeshChat:
@routes.get("/api/v1/app/changelog")
async def app_changelog(request):
changelog_path = get_file_path("CHANGELOG.md")
+ if not os.path.exists(changelog_path):
+ # try in public folder
+ changelog_path = get_file_path("public/CHANGELOG.md")
+
if not os.path.exists(changelog_path):
# try project root if not found in package
changelog_path = os.path.join(
- os.path.dirname(os.path.dirname(os.path.dirname(__file__))),
+ os.path.dirname(os.path.dirname(__file__)),
"CHANGELOG.md",
)
@@ -11579,10 +11583,15 @@ def main():
type=int,
help="The port the web server should listen on. Can also be set via MESHCHAT_PORT environment variable.",
)
+ # If we are running from a frozen application (AppImage, EXE, etc),
+ # we should default to headless mode unless explicitly requested.
+ is_frozen = getattr(sys, "frozen", False)
+ default_headless = env_bool("MESHCHAT_HEADLESS", is_frozen)
+
parser.add_argument(
"--headless",
action="store_true",
- default=env_bool("MESHCHAT_HEADLESS", False),
+ default=default_headless,
help="Web browser will not automatically launch when this flag is passed. Can also be set via MESHCHAT_HEADLESS environment variable.",
)
parser.add_argument(
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────